package com.mandao;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;

/**
 * @author snail
 * provider-eureka-consumer
 */
@RestController
@SpringBootApplication
@EnableDiscoveryClient
public class ConsumerTwoApplication {

	@Bean
	@LoadBalanced
	RestTemplate restTemplate(){
		return new RestTemplate() ;
	}
	@Autowired
	private RestTemplate restTemplate ;

	/**
	 * ribbon
	 * @param name String
	 * @return String
	 */
	@RequestMapping("/hello")
	public String hello(@RequestParam(value = "name", defaultValue = "springcloud") String name) {
		String greeting = this.restTemplate.getForObject("http://provider-two/greeting", String.class);
		return String.format("%s , %s!", greeting, name);
	}

	public static void main(String[] args) {
		SpringApplication.run(ConsumerTwoApplication.class, args);
	}

}
